﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NHibernate;
using NHibernate.Criterion;
using bolsatrabajo.Dominio.NHIBERNATE;

namespace bolsatrabajo.Persistencia.NHIBERNATE
{
    public class AvisoNH : MaestroNH<Aviso, Int32>, IAvisoNH
    {

        public ICollection<Aviso> ListarAvisos(String xtitulo)
        {
            using (ISession sesion = NHibernateHelper.AbrirSesion())
            {
                var avisos = sesion
                    .CreateCriteria(typeof(Aviso))
                    .Add(Restrictions.Eq("Titulo", xtitulo))
                    .List<Aviso>();
                return avisos;
            }
        }

        public ICollection<Aviso> ListarTodosLosAvisos()
        {
            using (ISession sesion = NHibernateHelper.AbrirSesion())
            {
                ICollection<Aviso> resultado = sesion
                        .CreateCriteria(typeof(Aviso))
                        .List<Aviso>();
                return resultado;
            }
        }
        
        public ICollection<Aviso> ListarAvisosxOfertante(String xcorreoofertante)
        {
            using (ISession sesion = NHibernateHelper.AbrirSesion())
            {
                var avisos = sesion
                    .CreateCriteria(typeof(Aviso))
                    .Add(Restrictions.Eq("Ofertante.Correo", xcorreoofertante))
                    .List<Aviso>();
                return avisos;
            }
        }
    }
}